package com.jcfy.project.module.service;

import java.util.List;

import com.jcfy.project.module.domain.TOrder;

/**
 * 订单Service接口
 *
 * @author jiangfeng
 * @date 2020-08-05
 */
public interface ITOrderService {
    /**
     * 查询订单
     *
     * @param orderId 订单ID
     * @return 订单
     */
    public TOrder selectTOrderById(Long orderId);

    /**
     * 查询订单列表
     *
     * @param tOrder 订单
     * @return 订单集合
     */
    public List<TOrder> selectTOrderList(TOrder tOrder);

    /**
     * 新增订单
     *
     * @param tOrder 订单
     * @return 结果
     */
    public int insertTOrder(TOrder tOrder);

    /**
     * 修改订单
     *
     * @param tOrder 订单
     * @return 结果
     */
    public int updateTOrder(TOrder tOrder);

    /**
     * 批量删除订单
     *
     * @param orderIds 需要删除的订单ID
     * @return 结果
     */
    public int deleteTOrderByIds(Long[] orderIds);

    /**
     * 删除订单信息
     *
     * @param orderId 订单ID
     * @return 结果
     */
    public int deleteTOrderById(Long orderId);

    /**
     * 创建订单
     *
     * @param carts     购物车商品
     * @param team      提货信息
     * @param userId    用户ID
     * @param amount    订单总金额
     * @param consigneeName 收货人姓名
     * @param consigneeMobile 收货人手机号
     * @param consigneeProvince 省份
     * @param consigneeCity 城市
     * @param consigneeArea 收货地址所在区
     * @param consigneeAddress 详细地址
     * @param remark 备注
     * @return
     */
    public TOrder createOrder(String carts, String team, Long userId, String amount, String consigneeName, String consigneeMobile,
                                String consigneeProvince, String consigneeCity, String consigneeArea, String consigneeAddress, String remark);

    /**
     * 根据订单号查询订单信息
     *
     * @param traceNo 订单号
     * @return
     */
    public TOrder getOrderByTraceNo(String traceNo);

    /**
     * 支付成功
     *
     * @param traceNo
     * @param payType
     * @param payAccount
     * @param payNo
     */
    public TOrder paySuccess(String traceNo, Integer payType, String payAccount, String payNo);

}
